/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Controlador.Manejadores;

import Controlador.RequestHandler;
import Persistencia.DAOFactory;
import Persistencia.Entidades.Transporte;
import Persistencia.Exception.NoNuloException;
import Persistencia.Exception.UnicoException;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Administrador
 */
public class NuevoTransporte implements RequestHandler {

    Persistencia.DAOFactory dao;
    Transporte transp;

    public NuevoTransporte(DAOFactory dao) {
        this.dao = dao;
        transp = new Transporte();
    }

    public String handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        transp.setRazonSocial(request.getParameter("razonSocial"));
        transp.setAbreviado(request.getParameter("abreviado"));
        transp.setCuit(new Long(request.getParameter("cuit")));
        transp.setDireccion(request.getParameter("direccion"));
        transp.setLocalidad(request.getParameter("localidad"));
        transp.setProvincia(request.getParameter("provincia"));
        transp.setPais(request.getParameter("pais"));
        try {
            dao.getTransporteDAO().insertTransporte(transp);
            request.setAttribute("mensaje", "Se guardo Correctamente el Transporte: " + transp.getRazonSocial());

        } catch (NoNuloException ex) {
            request.setAttribute("mensaje", "Error algunos de los campos no puede ser nulo");
            // throw new CampoNuloException(ex.getMessage());

        } catch (UnicoException ex) {
            request.setAttribute("mensaje", "Error algunos de los campos duplica los valores");
            //     throw new CampoUnicoException(ex.getMessage());
        }

        return "/Exportador/nuevoTransporte.jsp";

    }
}

